iT邦幫忙

2025 iThome 鐵人賽

DAY 4
0
自我挑戰組

自學 Java 挑戰:語法、物件導向到專題應用系列 第 4

Day04-程式世界的基石 - 變數、資料型態與運算子

  • 分享至 

  • xImage
  •  

大家好,歡迎來到 Java 新手村的第四天!在前三天的旅程中,我們已經成功建立了 Java 的開發環境(D01、D02),也執行了第一支程式(D03)。今天,我們要開始學習程式設計中最核心、最基礎的概念:「變數」、「資料型態」與「運算子」。這就像是學習語言時的單字和文法,是我們與電腦溝通的基礎!


一、什麼是變數?
想像一下,當我們在寫程式時,需要暫時儲存一些資料,例如使用者的年齡、商品價格或是計算結果。「變數 (Variable)」 就是在記憶體中用來儲存資料的空間,而 「資料型態 (Data Type)」 則是告訴電腦這個變數要儲存哪一種類型的資料,以及該如何處理它。

宣告變數 (Declaring a Variable)
要使用變數,必須先「宣告」它,這就像是告訴電腦:「嘿!我需要一個箱子,它的名字是這個,要用來裝這種東西!」

宣告的規則很簡單

  1. 先宣告,後使用:必須先告訴電腦有這個變數存在,才能開始用它來存取資料。
  2. 賦值:使用等號 (=) 將右邊的值,指定給左邊的變數
    例如,我們想宣告一個變數來儲存年齡:
    // 宣告一個名為 age2 的整數變數,並賦值為 21
    int age2 = 21;
    // 宣告一個名為 name 的字串變數,並賦值為 "Amy"
    String name = "Amy";
    這段程式碼可以在 main 方法中看到

二、資料型態 (Data Type)
當我們宣告變數時,必須同時指定它的「資料型態」,也就是告訴電腦這個變數是用來儲存哪一種類型的資料

主要可以分為以下幾類:

  1. 整數型態 (Integer Types):用來儲存沒有小數點的整數,例如 byte、short、int、long。
    ◦ 注意:每種型態都有其儲存的數值範圍,如果賦予的值超過了這個範圍,就會發生「溢位 (Overflow)」。
    ◦ 編譯器預設值:在程式碼中直接寫下的整數,編譯器預設會視為 int 型態。
  2. 浮點數型態 (Floating-Point Types):用於儲存帶有小數點的數字,例如 float
    ◦ 編譯器預設值:編譯器預設會將程式碼中的浮點數視為 double 型態。
  3. 字元型態 (Character Type):用於儲存單一字元,關鍵字是 char。
    ◦ 在電腦內部,字元是透過 ASCII 編碼表來對應到一個特定的數字進行儲存的。

三、物件屬性與區域變數的初步認識
除了在方法中宣告的「區域變數」,未來在學習「物件導向」時,我們還會接觸到定義在類別 (class) 中的「物件屬性 (Property)
• 屬性 (Property):可以提供給物件使用,通常用來描述物件的狀態或特徵。
• 區域變數 (Local Variable):定義在方法 (method) 內部,生命週期只在該方法執行期間。

這是一個比較進階的概念,今天我們先有個印象即可!


四、運算子:讓變數動起來!
有了變數之後,我們就可以使用「運算子 (Operators)」來對它們進行各種操作。

  1. 算術運算子 (Arithmetic Operators):進行基本的數學運算,如加 (+)、減 (-)、乘 (*)。
  2. 比較運算子 (Comparison Operators):用來比較兩個值,例如大於 (>)、小於 (<)。
  3. 邏輯運算子 (Logical Operators):用來組合多個布林條件式,例如 AND (&&) 和 OR (||)。
  4. 條件運算子 (Conditional Operator / Ternary Operator):這是一種簡潔的 if-else 寫法。
    ◦ 語法:(條件式 ? 成立時的傳回值 : 失敗時的傳回值)。
    ◦ 例如:(a > b) ? true : false

五、型態轉換 (Type Casting)
有時我們需要在不同資料型態之間進行轉換

  1. 字串轉為基本資料型態:
    ◦ 將文字格式的數字(例如 "420")轉換成真正的數值時,可以使用 Integer.parseInt() 或 Double.parseDouble() 等方法。
  2. 基本資料型態轉為字串:
    ◦ 將數字轉換成字串格式
  3. 打包型態 (Wrapper Types):
    ◦ Java 為每個基本資料型態提供了一個對應的物件版本,稱為「打包型態」。
    ◦ 自動裝箱/拆箱 (Autoboxing/Unboxing):編譯器可以在基本型態與其對應的打包物件之間自動進行轉換。
    ◦ 也可以使用 valueOf() 方法,將基本資料型態轉換為物件。

範例1:
變數與輸出文字
這個示範了如何在 main 方法中使用變數,並透過 System.out.println() 輸出介紹文字。
https://ithelp.ithome.com.tw/upload/images/20250916/20178316PQac6ZjErS.png
程式說明:
1.String name:字串型別,存放姓名。
2.int age:整數型別,存放年齡。
3.String gender:字串型別,存放性別。
4.使用字串串接 (+) 來組合文字。
輸出結果:
My name is Yulanda, I'm 30 years old, I'm Female


範例2:
梯形面積計算
這個範例示範了如何用 Java 計算梯形的面積。
https://ithelp.ithome.com.tw/upload/images/20250916/20178316ieilc3ylC1.png

程式說明:
1.up:上底長度。
2.down:下底長度。
3.height:高度。
4.使用公式 (上底 + 下底) × 高 ÷ 2 來計算面積。
輸出結果:
25

今天我們認識了 變數、資料型態與運算子 這些程式的核心觀念,它們是之後學習 流程控制 與 物件導向 的基礎。本文先帶來兩個實用範例,下一篇還會繼續分享更多範例。雖然內容看似繁多,但這些都是非常重要的基石,建議大家一定要動手實作,透過練習把它們轉化為自己的知識與能力!


上一篇
D03-執行第一支Java 程式
下一篇
D05-打好程式基本功:5 個範例掌握變數、資料型態與運算子
系列文
自學 Java 挑戰:語法、物件導向到專題應用5
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言